<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>商品列表</h1>
<table border="1">
  <tr>
    <th>商品id</th>
    <th>商品标题</th>
    <th>商品价格</th>
    <th>商品销量</th>
    <th>操作</th>
  </tr>
  <tr  v-for="p in arr">
    <td>{{p.id}}</td>
    <td>{{p.title}}</td>
    <td>{{p.price}}</td>
    <td>{{p.saleCount}}</td>
    <td><a href="javascript:void(0)" @click="del(p.id)">删除</a>
      <!--点击修改需要跳转页面 所以不能废掉跳转功能-->
      <!--元素的属性里面出现变量 需要进行属性绑定-->
      <a :href="'/update.html?id='+p.id">修改</a></td>

   <!-- href=javascript:void(0)  废掉超链接点击事件 添加点击触发方法-->
  </tr>
</table>
<script src="js/vue.js"></script>
<script src="js/axios.min.js"></script>
<script>
  let v =new Vue({
    el:"table",
    data:{
     arr:[]
    },
    /*此方法是Vue对象创建时执行的方法
    * 一般会把加载完页面请求数据的代码 写在此方法中*/
    created:function () {
      //发出异步请求获取数据
      axios.get("/select").then(function (response) {
        //服务器返回的数据直接给到arr数组 由于页面和数组进行了绑定
        //数组值发生改变时页面会自动发生改变

        //服务器传递过来的是二进制的数据先将二进制的数据转回JSON格式的字符串
        //转完字符串之后Axios框架会再将JSON格式的字符串转成数组或对象
        v.arr = response.data;
      })
    },
   methods: {
     del(id) {
       axios.get("/delete?id=" + id).then(function (response) {
         alert("删除完成");
         location.reload();//刷新页面方法
       })
     }

   }
  })
</script>
</body>
</html>